Selective Dual Path Execution
نویسندگان
چکیده
Selective Dual Path Execution (SDPE) reduces branch misprediction penalties by selectively forking a second path and executing instructions from both paths following a conditional branch instruction. SDPE restricts the number of simultaneously executed paths to two, and uses a branch prediction confidence mechanism to fork selectively only for branches that are more likely to be mispredicted. A branch forking policy defines the behavior of SDPE when a low confidence branch prediction is encountered while two paths are already being executed. Trace driven simulation is used to evaluate the effectiveness of SDPE with three different forking policies. SDPE can reduce the cycles lost to branch mispredictions by 34 to 50%, resulting in an approximate 10% reduction in overall execution time. However, it is shown that both branch mispredictions and low confidence predictions tend to occur in clusters, limiting the effectiveness of SDPE. A number of design parameters are studied via simulation. These include prediction and confidence table sizes. Finally, a number of implementation issues are discussed, with emphasis on instruction fetching mechanisms and register renaming.
منابع مشابه
Restricted Dual Path Execution
Restricted Dual Path Execution (RDPE) reduces branch misprediction penalties by selectively forking a second path and executing instructions from both paths following certain conditional branch instructions. Dynamically gathered confidence information is used to identify the branches most likely to be mispredicted (and thus most likely to benefit from dual-path execution). A branch forking poli...
متن کاملSimultaneous Speculation Scheduling - A Technique for Speculative Dual Path Execution
Commodity microprocessors uniformly apply branch prediction and single path speculative execution to all kinds of program branches and suuer from the high misprediction penalty which is caused by branches with low prediction accuracy and, in particular, by branches that are unpredictable. The Simultaneous Speculation Scheduling (S 3) technique removes such penalties by a combination of compiler...
متن کاملPrimal-dual path-following algorithms for circular programming
Circular programming problems are a new class of convex optimization problems that include second-order cone programming problems as a special case. Alizadeh and Goldfarb [Math. Program. Ser. A 95 (2003) 3-51] introduced primal-dual path-following algorithms for solving second-order cone programming problems. In this paper, we generalize their work by using the machinery of Euclidean Jordan alg...
متن کاملThe Auspicious Couple: Symbolic Execution and WCET Analysis
We have recently shown that symbolic execution together with the implicit path enumeration technique can successfully be applied in the Worst-Case Execution Time (WCET) analysis of programs. Symbolic execution offers a precise framework for program analysis and tracks complex program properties by analyzing single program paths in isolation. This path-wise program exploration of symbolic execut...
متن کاملEager Execution : An Optimal Form of Speculative Execution
Three papers will be discussed in this section: Effective Compiler Support for Predicated Execution Using the Hyperblock, by Mahlke et al.; Disjoint Eager Execution: An Optimal Form of Speculative Execution, by Uht and Singdagi; and Selective Eager Execution on the Poly Path Architecture, by Klauser, Paithankar and Grunwald. These papers will close out the “processor front-end” section of the c...
متن کامل